package hsl.study.v3;


/**
 * @author HSL
 * @version 1.0
 * @data 2025/11/17 11:19
 * @desc 通用代理工厂
 */

public class ProxyFactory {
    private ProxyFactory(){}

    public static Object createProxy(Object target){
        // 判断目标类是否实现接口
        if (target.getClass().getInterfaces().length> 0){
            System.out.println("======> 使用 JDK 动态代理");
            return new JdkProxyHandler(target).getProxyInstance();
        }else {
            System.out.println("======> 使用 CGLIB 动态代理");
            return new CglibProxyHandler(target).getProxyInstance();
        }
    }
}
